In traditional system architectures, an operating system executes on computing hardware, and can host a particular database management system and database storage arrangement. For example, selected computer hardware having a particular system architecture (e.g., compliant with the x86, x86-64, IA64, PowerPC, ARM, or other system architectures) can host an operating system specifically written for or compiled for that architecture. That operating system (e.g., Windows, Linux, etc.) can then host a corresponding database and associated database management system.
Within this construct, various database architectures have emerged. For example, relational databases have been developed, in which data requests, such as queries, can be submitted in a relational query structure (e.g., using SQL or some similar language). Generally, data in such relational databases are stored in records, with interrelationships across table entries in one or more tables, with query results returned in terms of row and table references. In other examples, hierarchical databases have also been developed which store data in records, but generally query results are returned in record and set references. Still other database architectures are implemented using different access procedures, such as storage in columns, records, streams, or other structures.
Increasingly, a number of limitations of computing infrastructure have begun to affect these database arrangements. For example, some relational and hierarchical database management systems assume all data is to be stored on a particular partition or computing system, and as such are either unable to or are inefficient at obtaining data stored in separate memories or memory partitions. Furthermore, existing application level programs may be written for use with a relational system when data is stored in a hierarchical database, or vice versa, thereby complicating data access issues. In such situations, it may be the case that separate transactional and relational database instances must be maintained, leading to data consistency and replication difficulties. Or, hierarchical database commands must be translated to a relational database language, accounting for the difference between such data models. In both circumstances, inefficiencies exist in storage and retrieval of data, and limitations as to methods (i.e., database commands and query languages) persist.
For these and other reasons, improvements are desirable.